package chapter08.s01threadcreate;

/**
 * 进程：在一个操作系统中，每个独立执行的程序都可称之为一个进程
 *     进程是并发执行的程序在执行过程中分配和管理资源的基本单位，是一个动态概念，竞争计算机系统资源的基本单位。
 * 线程：在一个进程中还可以有多个执行单元同时运行，这些执行单元可以看作程序执行的一条条线索，被称为线程。
 *     线程是进程的一个执行单元，是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。
 * 线程的生命周期:
 *     新建状态（New）
 *     就绪状态（Runnable）
 *     运行状态（Running）
 *     阻塞状态（Blocked）
 *     死亡状态（Terminated）
 *
 * 单线程程序
 *
 *  MyThread类的打印语句将被无限执行
 *  main()方法中的打印语句无法得到执行
 *  如果希望程序中两个while循环中的打印语句能够并发执行，就需要实现多线程
 */
public class Example01 {
    public static void main(String[] args) throws InterruptedException {
        MyThread01 myThread = new MyThread01(); // 创建MyThread实例对象
        myThread.run();                         // 调用MyThread类的run()方法

        // 以下程序执行不到
        while (true) {                          // 该循环是一个死循环，打印输出语句
            System.out.println("Main方法在运行");
        }
    }
}

class MyThread01 {
    public void run() throws InterruptedException {
        while (true) {                          // 该循环是一个死循环，打印输出语句
            Thread.sleep(1000);
            System.out.println("MyThread类的run()方法在运行");
        }
    }
}
